﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using KWIS9000CLIENT;
using NetComm;
using KWIS9000SERVER.classes;

namespace QuizGUI
{
    /// <summary>
    /// GUI voor deelnemers aan een kwis van het type blokken.
    /// </summary>
    /// <author>Werner Goossens</author>
    public partial class DeelnemerBlokkenGUI : Form
    {
        private KwisClient client;
        private string spelerNaam;

        public DeelnemerBlokkenGUI()
        {
            InitializeComponent();
        }

        /// <summary>
        /// Load event, vraagt om een naam en maakt verbinding met de server.
        /// </summary>
        /// <author>Werner Goossens en sebastiaan houben</author>
        private void DeelnemerBlokkenGUI_Load(object sender, EventArgs e)
        {
            InputDialog inDialog = new InputDialog("Geef u naam op", "Naam", "");
            spelerNaam = inDialog.ResultText;

            client = new KwisClient();
            client.connect(spelerNaam);

            /*
             * eventlistener toevoegen zodat we data kunnen ontvangen van de server
             */
            client.speler.clientConnection.client.DataReceived += new NetComm.Client.DataReceivedEventHandler(client_DataReceived);
             
        }
        /// <summary>
        /// Event voor het drukken van de 'druk'-knop,
        /// stuurt een signaal naar de server.
        /// </summary>
        /// <author>sebastiaan houben </author>
        // eventhandler 
        void client_DataReceived(byte[] Data, string id)
        {
            Console.Out.WriteLine(id + ": " + KWIS9000SERVER.classes.Connection.ConvertBytesToString(Data) + Environment.NewLine); //Updates the log textbox when new user joined
        }
        
        /// <summary>
        /// Event voor het drukken van de 'druk'-knop,
        /// stuurt een signaal naar de server.
        /// </summary>
        /// <author>sebastiaan houben </author>
        private void bnDruk_Click(object sender, EventArgs e)
        {
            
            client.sendData("druk");
        }



    }
}
